Теми за устен изпит - ООП, СИ, 2022

Тема 1: Структури и обединения. Представяния в паметта. Размер на обекти/истанции. Подравняване. Подаване на обекти/истанции във функции. Създаване на обекти в динамичната памет. Пример с задачата за N тригъгълника.

Тема 2: Текстови файлове. Йерархия на потоците. Потоци за вход/изход от файл. Режими на работа. Флагове на състоянията на потока. Позициониране във файл. Пример за функция, която връща големината на файл. Пример за функция, която връща брой редове в текстов файл.

Тема 3: Двоични файлове. Big endian. Запазване на обекти в двоичен файл. Пример за запазване/четене на масив от обекти(от един тип) във файл.

Тема 4: Член-функции. Конструктори и деструктор. Извикване на конструктори и деструктори. Конструктори и деструктор при композиция на обекти. Mодификатори за достъп. Капсулация. Пример за клас Person с име (низ с дължина най-много 20 символа) и години [5...90].

Тема 5: Разделна компилация. Копиращ конструктор и оператор=.

Тема 6: Динамична памет в класовете. Голямата четворка. Пример за клас студент с име (с произволна дължина) и масив от оценки(с произволна дъжина)

Тема 7: Предефиниране на оператори. Приятелски класове и функции. Пример за реализация на комплексно число и Nvector.

Тема 8: Масиви от указатели към обекти. Изключения. Обработка на изключения. Проблеми при работа с потоци. Move семантики - ползи, lvalue, rvalue, move конструктор/оп=, std::move. 

Тема 9: Конвертиращи конструктори. Композиция и агрегация. Шаблони. Пример за шаблонна опашка. Необходими функции в шаблонен клас/шаблонна функция.

Тема 10: Наследяване. Видове наследяване. Параметри на функции (указатели и референции). Конструктури и деструктори при наследяване. Копиране при наследяване. Пример с бар.

Тема 11: Статично и динамично свързване. Виртуални функции. Полиморфизъм. Абстрактни класове. Пример за фигури.

Тема 12: Колекции от обекти в полиморфна йерархия. Копиране и триене. Factory pattern. Пример с ферма. 
  
Тема 13: Множествено наследяване. Проблеми при множествено наследяване. Диамантен проблем. Пример с шах.

Тема 14: Дървовидна структура от обекти от полиморфна йерархия. Пример с логически изрази.
